(function () {
	var t = {
			249: function (t, e, i) {
				i(7658),
					i(541),
					i(2801),
					(function (e, i) {
						t.exports = i();
					})(0, function () {
						'use strict';
						function t(t, e, i) {
							(this.x = t), (this.y = e), (this.time = i || new Date().getTime());
						}
						function e(t, e, i, n) {
							(this.startPoint = t), (this.control1 = e), (this.control2 = i), (this.endPoint = n);
						}
						function i(t, e, i) {
							let n,
								o,
								s,
								a = null,
								r = 0;
							i || (i = {});
							let d = function () {
								(r = !1 === i.leading ? 0 : Date.now()), (a = null), (s = t.apply(n, o)), a || (n = o = null);
							};
							return function () {
								let l = Date.now();
								r || !1 !== i.leading || (r = l);
								let h = e - (l - r);
								return (
									(n = this),
									(o = arguments),
									h <= 0 || h > e ? (a && (clearTimeout(a), (a = null)), (r = l), (s = t.apply(n, o)), a || (n = o = null)) : a || !1 === i.trailing || (a = setTimeout(d, h)),
									s
								);
							};
						}
						function n(t, e) {
							let o = this,
								s = e || {};
							(this.velocityFilterWeight = s.velocityFilterWeight || 0.7),
								(this.minWidth = s.minWidth || 0.5),
								(this.maxWidth = s.maxWidth || 2.5),
								(this.throttle = 'throttle' in s ? s.throttle : 16),
								(this.minDistance = 'minDistance' in s ? s.minDistance : 5),
								(this.backgroundText = s.backgroundText || null),
								this.throttle ? (this._strokeMoveUpdate = i(n.prototype._strokeUpdate, this.throttle)) : (this._strokeMoveUpdate = n.prototype._strokeUpdate),
								(this.dotSize =
									s.dotSize ||
									function () {
										return (this.minWidth + this.maxWidth) / 2;
									}),
								(this.penColor = s.penColor || 'black'),
								(this.backgroundColor = s.backgroundColor || 'rgba(0,0,0,0)'),
								(this.onBegin = s.onBegin),
								(this.onUpdate = s.onUpdate),
								(this.onEnd = s.onEnd),
								(this._canvas = t),
								(this._ctx = t.getContext('2d')),
								this.clear(),
								(this._handleMouseDown = function (t) {
									1 === t.which && ((o._mouseButtonDown = !0), o._strokeBegin(t));
								}),
								(this._handleMouseMove = function (t) {
									o._mouseButtonDown && o._strokeMoveUpdate(t);
								}),
								(this._handleMouseUp = function (t) {
									1 === t.which && o._mouseButtonDown && ((o._mouseButtonDown = !1), o._strokeEnd(t));
								}),
								(this._handleTouchStart = function (t) {
									if (1 === t.targetTouches.length) {
										let e = t.changedTouches[0];
										o._strokeBegin(e);
									}
								}),
								(this._handleTouchMove = function (t) {
									t.preventDefault();
									let e = t.targetTouches[0];
									o._strokeMoveUpdate(e);
								}),
								(this._handleTouchEnd = function (t) {
									let e = t.target === o._canvas;
									e && (t.preventDefault(), o._strokeEnd(t));
								}),
								this.on();
						}
						return (
							(t.prototype.velocityFrom = function (t) {
								return this.time !== t.time ? this.distanceTo(t) / (this.time - t.time) : 1;
							}),
							(t.prototype.distanceTo = function (t) {
								return Math.sqrt(Math.pow(this.x - t.x, 2) + Math.pow(this.y - t.y, 2));
							}),
							(t.prototype.equals = function (t) {
								return this.x === t.x && this.y === t.y && this.time === t.time;
							}),
							(e.prototype.length = function () {
								let t,
									e,
									i = 10,
									n = 0;
								for (let o = 0; o <= i; o += 1) {
									let s = o / i,
										a = this._point(s, this.startPoint.x, this.control1.x, this.control2.x, this.endPoint.x),
										r = this._point(s, this.startPoint.y, this.control1.y, this.control2.y, this.endPoint.y);
									if (o > 0) {
										let i = a - t,
											o = r - e;
										n += Math.sqrt(i * i + o * o);
									}
									(t = a), (e = r);
								}
								return n;
							}),
							(e.prototype._point = function (t, e, i, n, o) {
								return e * (1 - t) * (1 - t) * (1 - t) + 3 * i * (1 - t) * (1 - t) * t + 3 * n * (1 - t) * t * t + o * t * t * t;
							}),
							(n.prototype.clear = function () {
								let t = this._ctx,
									e = this._canvas;
								if (((t.fillStyle = this.backgroundColor), t.clearRect(0, 0, e.width, e.height), t.fillRect(0, 0, e.width, e.height), this.backgroundText)) {
									(t.fillStyle = this.backgroundText.color || 'gray'), (t.font = this.backgroundText.font || '20px Georgia'), (t.textAlign = 'center'), (t.textBaseline = 'middle');
									let i = this.backgroundText.text,
										n = e.width,
										o = e.height;
									t.fillText(i, n / 2, o / 2);
								}
								(this._data = []), this._reset(), (this._isEmpty = !0);
							}),
							(n.prototype.fromDataURL = function (t) {
								let e = this,
									i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
									n = new Image(),
									o = i.ratio || window.devicePixelRatio || 1,
									s = i.width || this._canvas.width / o,
									a = i.height || this._canvas.height / o;
								this._reset(),
									(n.src = t),
									(n.onload = function () {
										e._ctx.drawImage(n, 0, 0, s, a);
									}),
									(this._isEmpty = !1);
							}),
							(n.prototype.toDataURL = function (t) {
								let e;
								switch (t) {
									case 'image/svg+xml':
										return this._toSVG();
									default:
										for (let t = arguments.length, e = Array(t > 1 ? t - 1 : 0), i = 1; i < t; i++) e[i - 1] = arguments[i];
										return (e = this._canvas).toDataURL.apply(e, [t].concat(options));
								}
							}),
							(n.prototype.on = function () {
								this._handleMouseEvents(), this._handleTouchEvents();
							}),
							(n.prototype.off = function () {
								this._canvas.removeEventListener('mousedown', this._handleMouseDown),
									this._canvas.removeEventListener('mousemove', this._handleMouseMove),
									document.removeEventListener('mouseup', this._handleMouseUp),
									this._canvas.removeEventListener('touchstart', this._handleTouchStart),
									this._canvas.removeEventListener('touchmove', this._handleTouchMove),
									this._canvas.removeEventListener('touchend', this._handleTouchEnd);
							}),
							(n.prototype.isEmpty = function () {
								return this._isEmpty;
							}),
							(n.prototype._strokeBegin = function (t) {
								this._data.push([]), this._reset(), this._strokeUpdate(t), 'function' === typeof this.onBegin && this.onBegin(t);
							}),
							(n.prototype._strokeUpdate = function (t) {
								let e = t.clientX,
									i = t.clientY,
									n = this._createPoint(e, i),
									o = this._data[this._data.length - 1],
									s = o && o[o.length - 1],
									a = s && n.distanceTo(s) < this.minDistance;
								if (!s || !a) {
									let t = this._addPoint(n),
										e = t.curve,
										i = t.widths;
									e && i && this._drawCurve(e, i.start, i.end), this._data[this._data.length - 1].push({ x: n.x, y: n.y, time: n.time, color: this.penColor });
								}
								'function' === typeof this.onUpdate && this.onUpdate(t);
							}),
							(n.prototype._strokeEnd = function (t) {
								let e = this.points.length > 2,
									i = this.points[0];
								if ((!e && i && this._drawDot(i), i)) {
									let t = this._data[this._data.length - 1],
										e = t[t.length - 1];
									i.equals(e) || t.push({ x: i.x, y: i.y, time: i.time, color: this.penColor });
								}
								'function' === typeof this.onEnd && this.onEnd(t);
							}),
							(n.prototype._handleMouseEvents = function () {
								(this._mouseButtonDown = !1),
									this._canvas.addEventListener('mousedown', this._handleMouseDown),
									this._canvas.addEventListener('mousemove', this._handleMouseMove),
									document.addEventListener('mouseup', this._handleMouseUp);
							}),
							(n.prototype._handleTouchEvents = function () {
								(this._canvas.style.msTouchAction = 'none'),
									(this._canvas.style.touchAction = 'none'),
									this._canvas.addEventListener('touchstart', this._handleTouchStart),
									this._canvas.addEventListener('touchmove', this._handleTouchMove),
									this._canvas.addEventListener('touchend', this._handleTouchEnd);
							}),
							(n.prototype._reset = function () {
								(this.points = []), (this._lastVelocity = 0), (this._lastWidth = (this.minWidth + this.maxWidth) / 2), (this._ctx.fillStyle = this.penColor);
							}),
							(n.prototype._createPoint = function (e, i, n) {
								let o = this._canvas.getBoundingClientRect();
								return new t(e - o.left, i - o.top, n || new Date().getTime());
							}),
							(n.prototype._addPoint = function (t) {
								let i,
									n = this.points;
								if ((n.push(t), n.length > 2)) {
									3 === n.length && n.unshift(n[0]), (i = this._calculateCurveControlPoints(n[0], n[1], n[2]));
									let t = i.c2;
									i = this._calculateCurveControlPoints(n[1], n[2], n[3]);
									let o = i.c1,
										s = new e(n[1], t, o, n[2]),
										a = this._calculateCurveWidths(s);
									return n.shift(), { curve: s, widths: a };
								}
								return {};
							}),
							(n.prototype._calculateCurveControlPoints = function (e, i, n) {
								let o = e.x - i.x,
									s = e.y - i.y,
									a = i.x - n.x,
									r = i.y - n.y,
									d = { x: (e.x + i.x) / 2, y: (e.y + i.y) / 2 },
									l = { x: (i.x + n.x) / 2, y: (i.y + n.y) / 2 },
									h = Math.sqrt(o * o + s * s),
									c = Math.sqrt(a * a + r * r),
									u = d.x - l.x,
									p = d.y - l.y,
									w = c / (h + c),
									m = { x: l.x + u * w, y: l.y + p * w },
									b = i.x - m.x,
									f = i.y - m.y;
								return { c1: new t(d.x + b, d.y + f), c2: new t(l.x + b, l.y + f) };
							}),
							(n.prototype._calculateCurveWidths = function (t) {
								let e = t.startPoint,
									i = t.endPoint,
									n = { start: null, end: null },
									o = this.velocityFilterWeight * i.velocityFrom(e) + (1 - this.velocityFilterWeight) * this._lastVelocity,
									s = this._strokeWidth(o);
								return (n.start = this._lastWidth), (n.end = s), (this._lastVelocity = o), (this._lastWidth = s), n;
							}),
							(n.prototype._strokeWidth = function (t) {
								return Math.max(this.maxWidth / (t + 1), this.minWidth);
							}),
							(n.prototype._drawPoint = function (t, e, i) {
								let n = this._ctx;
								n.moveTo(t, e), n.arc(t, e, i, 0, 2 * Math.PI, !1), (this._isEmpty = !1);
							}),
							(n.prototype._drawCurve = function (t, e, i) {
								let n = this._ctx,
									o = i - e,
									s = Math.floor(t.length());
								n.beginPath();
								for (let a = 0; a < s; a += 1) {
									let i = a / s,
										n = i * i,
										r = n * i,
										d = 1 - i,
										l = d * d,
										h = l * d,
										c = h * t.startPoint.x;
									(c += 3 * l * i * t.control1.x), (c += 3 * d * n * t.control2.x), (c += r * t.endPoint.x);
									let u = h * t.startPoint.y;
									(u += 3 * l * i * t.control1.y), (u += 3 * d * n * t.control2.y), (u += r * t.endPoint.y);
									let p = e + r * o;
									this._drawPoint(c, u, p);
								}
								n.closePath(), n.fill();
							}),
							(n.prototype._drawDot = function (t) {
								let e = this._ctx,
									i = 'function' === typeof this.dotSize ? this.dotSize() : this.dotSize;
								e.beginPath(), this._drawPoint(t.x, t.y, i), e.closePath(), e.fill();
							}),
							(n.prototype._fromData = function (e, i, n) {
								for (let o = 0; o < e.length; o += 1) {
									let s = e[o];
									if (s.length > 1)
										for (let e = 0; e < s.length; e += 1) {
											let n = s[e],
												o = new t(n.x, n.y, n.time),
												a = n.color;
											if (0 === e) (this.penColor = a), this._reset(), this._addPoint(o);
											else if (e !== s.length - 1) {
												let t = this._addPoint(o),
													e = t.curve,
													n = t.widths;
												e && n && i(e, n, a);
											}
										}
									else {
										this._reset();
										let t = s[0];
										n(t);
									}
								}
							}),
							(n.prototype._toSVG = function () {
								let t = this,
									e = this._data,
									i = this._canvas,
									n = Math.max(window.devicePixelRatio || 1, 1),
									o = 0,
									s = 0,
									a = i.width / n,
									r = i.height / n,
									d = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
								d.setAttributeNS(null, 'width', i.width),
									d.setAttributeNS(null, 'height', i.height),
									this._fromData(
										e,
										function (t, e, i) {
											let n = document.createElement('path');
											if (!isNaN(t.control1.x) && !isNaN(t.control1.y) && !isNaN(t.control2.x) && !isNaN(t.control2.y)) {
												let o =
													'M ' +
													t.startPoint.x.toFixed(3) +
													',' +
													t.startPoint.y.toFixed(3) +
													' C ' +
													t.control1.x.toFixed(3) +
													',' +
													t.control1.y.toFixed(3) +
													' ' +
													t.control2.x.toFixed(3) +
													',' +
													t.control2.y.toFixed(3) +
													' ' +
													t.endPoint.x.toFixed(3) +
													',' +
													t.endPoint.y.toFixed(3);
												n.setAttribute('d', o),
													n.setAttribute('stroke-width', (2.25 * e.end).toFixed(3)),
													n.setAttribute('stroke', i),
													n.setAttribute('fill', 'none'),
													n.setAttribute('stroke-linecap', 'round'),
													d.appendChild(n);
											}
										},
										function (e) {
											let i = document.createElement('circle'),
												n = 'function' === typeof t.dotSize ? t.dotSize() : t.dotSize;
											i.setAttribute('r', n), i.setAttribute('cx', e.x), i.setAttribute('cy', e.y), i.setAttribute('fill', e.color), d.appendChild(i);
										}
									);
								let l = 'data:image/svg+xml;base64,',
									h =
										'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="' +
										o +
										' ' +
										s +
										' ' +
										a +
										' ' +
										r +
										'" width="' +
										a +
										'" height="' +
										r +
										'">',
									c = d.innerHTML;
								if (void 0 === c) {
									let t = document.createElement('dummy'),
										e = d.childNodes;
									t.innerHTML = '';
									for (let i = 0; i < e.length; i += 1) t.appendChild(e[i].cloneNode(!0));
									c = t.innerHTML;
								}
								let u = '</svg>',
									p = h + c + u;
								return l + btoa(p);
							}),
							(n.prototype.fromData = function (t) {
								let e = this;
								this.clear(),
									this._fromData(
										t,
										function (t, i) {
											return e._drawCurve(t, i.start, i.end);
										},
										function (t) {
											return e._drawDot(t);
										}
									),
									(this._data = t);
							}),
							(n.prototype.toData = function () {
								return this._data;
							}),
							n
						);
					});
			},
			1206: function (t) {
				var e = '0.7.28',
					i = '',
					n = '?',
					o = 'function',
					s = 'undefined',
					a = 'object',
					r = 'string',
					d = 'major',
					l = 'model',
					h = 'name',
					c = 'type',
					u = 'vendor',
					p = 'version',
					w = 'architecture',
					m = 'console',
					b = 'mobile',
					f = 'tablet',
					g = 'smarttv',
					x = 'wearable',
					v = 'embedded',
					y = 255,
					_ = 'Amazon',
					k = 'Apple',
					C = 'ASUS',
					I = 'BlackBerry',
					M = 'Browser',
					E = 'Chrome',
					T = 'Edge',
					P = 'Firefox',
					W = 'Google',
					L = 'Huawei',
					S = 'LG',
					F = 'Microsoft',
					B = 'Motorola',
					U = 'Opera',
					R = 'Samsung',
					D = 'Sony',
					N = 'Xiaomi',
					z = 'Zebra',
					O = function (t, e) {
						var i = {};
						for (var n in t) e[n] && e[n].length % 2 === 0 ? (i[n] = e[n].concat(t[n])) : (i[n] = t[n]);
						return i;
					},
					A = function (t) {
						var e = {};
						for (var i in t) e[t[i].toUpperCase()] = t[i];
						return e;
					},
					q = function (t, e) {
						return typeof t === r && -1 !== H(e).indexOf(H(t));
					},
					H = function (t) {
						return t.toLowerCase();
					},
					j = function (t) {
						return typeof t === r ? t.replace(/[^\d\.]/g, i).split('.')[0] : void 0;
					},
					V = function (t, e) {
						if (typeof t === r) return (t = t.replace(/^\s+|\s+$/g, i)), typeof e === s ? t : t.substring(0, y);
					},
					$ = function (t, e) {
						var i,
							n,
							s,
							r,
							d,
							l,
							h = 0;
						while (h < e.length && !d) {
							var c = e[h],
								u = e[h + 1];
							i = n = 0;
							while (i < c.length && !d)
								if (((d = c[i++].exec(t)), d))
									for (s = 0; s < u.length; s++)
										(l = d[++n]),
											(r = u[s]),
											typeof r === a && r.length > 0
												? 2 == r.length
													? typeof r[1] == o
														? (this[r[0]] = r[1].call(this, l))
														: (this[r[0]] = r[1])
													: 3 == r.length
													? typeof r[1] !== o || (r[1].exec && r[1].test)
														? (this[r[0]] = l ? l.replace(r[1], r[2]) : void 0)
														: (this[r[0]] = l ? r[1].call(this, l, r[2]) : void 0)
													: 4 == r.length && (this[r[0]] = l ? r[3].call(this, l.replace(r[1], r[2])) : void 0)
												: (this[r] = l || void 0);
							h += 2;
						}
					},
					Z = function (t, e) {
						for (var i in e)
							if (typeof e[i] === a && e[i].length > 0) {
								for (var o = 0; o < e[i].length; o++) if (q(e[i][o], t)) return i === n ? void 0 : i;
							} else if (q(e[i], t)) return i === n ? void 0 : i;
						return t;
					},
					G = { '1.0': '/8', 1.2: '/1', 1.3: '/3', '2.0': '/412', '2.0.2': '/416', '2.0.3': '/417', '2.0.4': '/419', '?': '/' },
					X = {
						ME: '4.90',
						'NT 3.11': 'NT3.51',
						'NT 4.0': 'NT4.0',
						2e3: 'NT 5.0',
						XP: ['NT 5.1', 'NT 5.2'],
						Vista: 'NT 6.0',
						7: 'NT 6.1',
						8: 'NT 6.2',
						8.1: 'NT 6.3',
						10: ['NT 6.4', 'NT 10.0'],
						RT: 'ARM'
					},
					J = {
						browser: [
							[/\b(?:crmo|crios)\/([\w\.]+)/i],
							[p, [h, 'Chrome']],
							[/edg(?:e|ios|a)?\/([\w\.]+)/i],
							[p, [h, 'Edge']],
							[/(opera mini)\/([-\w\.]+)/i, /(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i, /(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],
							[h, p],
							[/opios[\/ ]+([\w\.]+)/i],
							[p, [h, U + ' Mini']],
							[/\bopr\/([\w\.]+)/i],
							[p, [h, U]],
							[
								/(kindle)\/([\w\.]+)/i,
								/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,
								/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,
								/(ba?idubrowser)[\/ ]?([\w\.]+)/i,
								/(?:ms|\()(ie) ([\w\.]+)/i,
								/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq)\/([-\w\.]+)/i,
								/(weibo)__([\d\.]+)/i
							],
							[h, p],
							[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],
							[p, [h, 'UC' + M]],
							[/\bqbcore\/([\w\.]+)/i],
							[p, [h, 'WeChat(Win) Desktop']],
							[/micromessenger\/([\w\.]+)/i],
							[p, [h, 'WeChat']],
							[/konqueror\/([\w\.]+)/i],
							[p, [h, 'Konqueror']],
							[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],
							[p, [h, 'IE']],
							[/yabrowser\/([\w\.]+)/i],
							[p, [h, 'Yandex']],
							[/(avast|avg)\/([\w\.]+)/i],
							[[h, /(.+)/, '$1 Secure ' + M], p],
							[/\bfocus\/([\w\.]+)/i],
							[p, [h, P + ' Focus']],
							[/\bopt\/([\w\.]+)/i],
							[p, [h, U + ' Touch']],
							[/coc_coc\w+\/([\w\.]+)/i],
							[p, [h, 'Coc Coc']],
							[/dolfin\/([\w\.]+)/i],
							[p, [h, 'Dolphin']],
							[/coast\/([\w\.]+)/i],
							[p, [h, U + ' Coast']],
							[/miuibrowser\/([\w\.]+)/i],
							[p, [h, 'MIUI ' + M]],
							[/fxios\/([-\w\.]+)/i],
							[p, [h, P]],
							[/\bqihu|(qi?ho?o?|360)browser/i],
							[[h, '360 ' + M]],
							[/(oculus|samsung|sailfish)browser\/([\w\.]+)/i],
							[[h, /(.+)/, '$1 ' + M], p],
							[/(comodo_dragon)\/([\w\.]+)/i],
							[[h, /_/g, ' '], p],
							[/(electron)\/([\w\.]+) safari/i, /(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i, /m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i],
							[h, p],
							[/(metasr)[\/ ]?([\w\.]+)/i, /(lbbrowser)/i],
							[h],
							[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],
							[[h, 'Facebook'], p],
							[/safari (line)\/([\w\.]+)/i, /\b(line)\/([\w\.]+)\/iab/i, /(chromium|instagram)[\/ ]([-\w\.]+)/i],
							[h, p],
							[/\bgsa\/([\w\.]+) .*safari\//i],
							[p, [h, 'GSA']],
							[/headlesschrome(?:\/([\w\.]+)| )/i],
							[p, [h, E + ' Headless']],
							[/ wv\).+(chrome)\/([\w\.]+)/i],
							[[h, E + ' WebView'], p],
							[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],
							[p, [h, 'Android ' + M]],
							[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],
							[h, p],
							[/version\/([\w\.]+) .*mobile\/\w+ (safari)/i],
							[p, [h, 'Mobile Safari']],
							[/version\/([\w\.]+) .*(mobile ?safari|safari)/i],
							[p, h],
							[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],
							[h, [p, Z, G]],
							[/(webkit|khtml)\/([\w\.]+)/i],
							[h, p],
							[/(navigator|netscape\d?)\/([-\w\.]+)/i],
							[[h, 'Netscape'], p],
							[/mobile vr; rv:([\w\.]+)\).+firefox/i],
							[p, [h, P + ' Reality']],
							[
								/ekiohf.+(flow)\/([\w\.]+)/i,
								/(swiftfox)/i,
								/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,
								/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,
								/(firefox)\/([\w\.]+)/i,
								/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,
								/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,
								/(links) \(([\w\.]+)/i
							],
							[h, p]
						],
						cpu: [
							[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],
							[[w, 'amd64']],
							[/(ia32(?=;))/i],
							[[w, H]],
							[/((?:i[346]|x)86)[;\)]/i],
							[[w, 'ia32']],
							[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],
							[[w, 'arm64']],
							[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],
							[[w, 'armhf']],
							[/windows (ce|mobile); ppc;/i],
							[[w, 'arm']],
							[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],
							[[w, /ower/, i, H]],
							[/(sun4\w)[;\)]/i],
							[[w, 'sparc']],
							[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],
							[[w, H]]
						],
						device: [
							[/\b(sch-i[89]0\d|shw-m380s|sm-[pt]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],
							[l, [u, R], [c, f]],
							[/\b((?:s[cgp]h|gt|sm)-\w+|galaxy nexus)/i, /samsung[- ]([-\w]+)/i, /sec-(sgh\w+)/i],
							[l, [u, R], [c, b]],
							[/\((ip(?:hone|od)[\w ]*);/i],
							[l, [u, k], [c, b]],
							[/\((ipad);[-\w\),; ]+apple/i, /applecoremedia\/[\w\.]+ \((ipad)/i, /\b(ipad)\d\d?,\d\d?[;\]].+ios/i],
							[l, [u, k], [c, f]],
							[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],
							[l, [u, L], [c, f]],
							[/(?:huawei|honor)([-\w ]+)[;\)]/i, /\b(nexus 6p|\w{2,4}-[atu]?[ln][01259x][012359][an]?)\b(?!.+d\/s)/i],
							[l, [u, L], [c, b]],
							[
								/\b(poco[\w ]+)(?: bui|\))/i,
								/\b; (\w+) build\/hm\1/i,
								/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,
								/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,
								/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i
							],
							[
								[l, /_/g, ' '],
								[u, N],
								[c, b]
							],
							[/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],
							[
								[l, /_/g, ' '],
								[u, N],
								[c, f]
							],
							[/; (\w+) bui.+ oppo/i, /\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007)\b/i],
							[l, [u, 'OPPO'], [c, b]],
							[/vivo (\w+)(?: bui|\))/i, /\b(v[12]\d{3}\w?[at])(?: bui|;)/i],
							[l, [u, 'Vivo'], [c, b]],
							[/\b(rmx[12]\d{3})(?: bui|;|\))/i],
							[l, [u, 'Realme'], [c, b]],
							[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i, /\bmot(?:orola)?[- ](\w*)/i, /((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],
							[l, [u, B], [c, b]],
							[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],
							[l, [u, B], [c, f]],
							[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],
							[l, [u, S], [c, f]],
							[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i, /\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i, /\blg-?([\d\w]+) bui/i],
							[l, [u, S], [c, b]],
							[/(ideatab[-\w ]+)/i, /lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],
							[l, [u, 'Lenovo'], [c, f]],
							[/(?:maemo|nokia).*(n900|lumia \d+)/i, /nokia[-_ ]?([-\w\.]*)/i],
							[
								[l, /_/g, ' '],
								[u, 'Nokia'],
								[c, b]
							],
							[/(pixel c)\b/i],
							[l, [u, W], [c, f]],
							[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],
							[l, [u, W], [c, b]],
							[/droid.+ ([c-g]\d{4}|so[-l]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],
							[l, [u, D], [c, b]],
							[/sony tablet [ps]/i, /\b(?:sony)?sgp\w+(?: bui|\))/i],
							[
								[l, 'Xperia Tablet'],
								[u, D],
								[c, f]
							],
							[/ (kb2005|in20[12]5|be20[12][59])\b/i, /(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],
							[l, [u, 'OnePlus'], [c, b]],
							[/(alexa)webm/i, /(kf[a-z]{2}wi)( bui|\))/i, /(kf[a-z]+)( bui|\)).+silk\//i],
							[l, [u, _], [c, f]],
							[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],
							[
								[l, /(.+)/g, 'Fire Phone $1'],
								[u, _],
								[c, b]
							],
							[/(playbook);[-\w\),; ]+(rim)/i],
							[l, u, [c, f]],
							[/\b((?:bb[a-f]|st[hv])100-\d)/i, /\(bb10; (\w+)/i],
							[l, [u, I], [c, b]],
							[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],
							[l, [u, C], [c, f]],
							[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],
							[l, [u, C], [c, b]],
							[/(nexus 9)/i],
							[l, [u, 'HTC'], [c, f]],
							[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i, /(zte)[- ]([\w ]+?)(?: bui|\/|\))/i, /(alcatel|geeksphone|nexian|panasonic|sony)[-_ ]?([-\w]*)/i],
							[u, [l, /_/g, ' '], [c, b]],
							[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],
							[l, [u, 'Acer'], [c, f]],
							[/droid.+; (m[1-5] note) bui/i, /\bmz-([-\w]{2,})/i],
							[l, [u, 'Meizu'], [c, b]],
							[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],
							[l, [u, 'Sharp'], [c, b]],
							[
								/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,
								/(hp) ([\w ]+\w)/i,
								/(asus)-?(\w+)/i,
								/(microsoft); (lumia[\w ]+)/i,
								/(lenovo)[-_ ]?([-\w]+)/i,
								/(jolla)/i,
								/(oppo) ?([\w ]+) bui/i
							],
							[u, l, [c, b]],
							[
								/(archos) (gamepad2?)/i,
								/(hp).+(touchpad(?!.+tablet)|tablet)/i,
								/(kindle)\/([\w\.]+)/i,
								/(nook)[\w ]+build\/(\w+)/i,
								/(dell) (strea[kpr\d ]*[\dko])/i,
								/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,
								/(trinity)[- ]*(t\d{3}) bui/i,
								/(gigaset)[- ]+(q\w{1,9}) bui/i,
								/(vodafone) ([\w ]+)(?:\)| bui)/i
							],
							[u, l, [c, f]],
							[/(surface duo)/i],
							[l, [u, F], [c, f]],
							[/droid [\d\.]+; (fp\du?)(?: b|\))/i],
							[l, [u, 'Fairphone'], [c, b]],
							[/(u304aa)/i],
							[l, [u, 'AT&T'], [c, b]],
							[/\bsie-(\w*)/i],
							[l, [u, 'Siemens'], [c, b]],
							[/\b(rct\w+) b/i],
							[l, [u, 'RCA'], [c, f]],
							[/\b(venue[\d ]{2,7}) b/i],
							[l, [u, 'Dell'], [c, f]],
							[/\b(q(?:mv|ta)\w+) b/i],
							[l, [u, 'Verizon'], [c, f]],
							[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],
							[l, [u, 'Barnes & Noble'], [c, f]],
							[/\b(tm\d{3}\w+) b/i],
							[l, [u, 'NuVision'], [c, f]],
							[/\b(k88) b/i],
							[l, [u, 'ZTE'], [c, f]],
							[/\b(nx\d{3}j) b/i],
							[l, [u, 'ZTE'], [c, b]],
							[/\b(gen\d{3}) b.+49h/i],
							[l, [u, 'Swiss'], [c, b]],
							[/\b(zur\d{3}) b/i],
							[l, [u, 'Swiss'], [c, f]],
							[/\b((zeki)?tb.*\b) b/i],
							[l, [u, 'Zeki'], [c, f]],
							[/\b([yr]\d{2}) b/i, /\b(dragon[- ]+touch |dt)(\w{5}) b/i],
							[[u, 'Dragon Touch'], l, [c, f]],
							[/\b(ns-?\w{0,9}) b/i],
							[l, [u, 'Insignia'], [c, f]],
							[/\b((nxa|next)-?\w{0,9}) b/i],
							[l, [u, 'NextBook'], [c, f]],
							[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],
							[[u, 'Voice'], l, [c, b]],
							[/\b(lvtel\-)?(v1[12]) b/i],
							[[u, 'LvTel'], l, [c, b]],
							[/\b(ph-1) /i],
							[l, [u, 'Essential'], [c, b]],
							[/\b(v(100md|700na|7011|917g).*\b) b/i],
							[l, [u, 'Envizen'], [c, f]],
							[/\b(trio[-\w\. ]+) b/i],
							[l, [u, 'MachSpeed'], [c, f]],
							[/\btu_(1491) b/i],
							[l, [u, 'Rotor'], [c, f]],
							[/(shield[\w ]+) b/i],
							[l, [u, 'Nvidia'], [c, f]],
							[/(sprint) (\w+)/i],
							[u, l, [c, b]],
							[/(kin\.[onetw]{3})/i],
							[
								[l, /\./g, ' '],
								[u, F],
								[c, b]
							],
							[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],
							[l, [u, z], [c, f]],
							[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],
							[l, [u, z], [c, b]],
							[/(ouya)/i, /(nintendo) ([wids3utch]+)/i],
							[u, l, [c, m]],
							[/droid.+; (shield) bui/i],
							[l, [u, 'Nvidia'], [c, m]],
							[/(playstation [345portablevi]+)/i],
							[l, [u, D], [c, m]],
							[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],
							[l, [u, F], [c, m]],
							[/smart-tv.+(samsung)/i],
							[u, [c, g]],
							[/hbbtv.+maple;(\d+)/i],
							[
								[l, /^/, 'SmartTV'],
								[u, R],
								[c, g]
							],
							[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],
							[
								[u, S],
								[c, g]
							],
							[/(apple) ?tv/i],
							[u, [l, k + ' TV'], [c, g]],
							[/crkey/i],
							[
								[l, E + 'cast'],
								[u, W],
								[c, g]
							],
							[/droid.+aft(\w)( bui|\))/i],
							[l, [u, _], [c, g]],
							[/\(dtv[\);].+(aquos)/i],
							[l, [u, 'Sharp'], [c, g]],
							[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i, /hbbtv\/\d+\.\d+\.\d+ +\([\w ]*; *(\w[^;]*);([^;]*)/i],
							[
								[u, V],
								[l, V],
								[c, g]
							],
							[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],
							[[c, g]],
							[/((pebble))app/i],
							[u, l, [c, x]],
							[/droid.+; (glass) \d/i],
							[l, [u, W], [c, x]],
							[/droid.+; (wt63?0{2,3})\)/i],
							[l, [u, z], [c, x]],
							[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],
							[u, [c, v]],
							[/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i],
							[l, [c, b]],
							[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],
							[l, [c, f]],
							[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],
							[[c, f]],
							[/(phone|mobile(?:[;\/]| safari)|pda(?=.+windows ce))/i],
							[[c, b]],
							[/(android[-\w\. ]{0,9});.+buil/i],
							[l, [u, 'Generic']]
						],
						engine: [
							[/windows.+ edge\/([\w\.]+)/i],
							[p, [h, T + 'HTML']],
							[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],
							[p, [h, 'Blink']],
							[
								/(presto)\/([\w\.]+)/i,
								/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,
								/ekioh(flow)\/([\w\.]+)/i,
								/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,
								/(icab)[\/ ]([23]\.[\d\.]+)/i
							],
							[h, p],
							[/rv\:([\w\.]{1,9})\b.+(gecko)/i],
							[p, h]
						],
						os: [
							[/microsoft (windows) (vista|xp)/i],
							[h, p],
							[/(windows) nt 6\.2; (arm)/i, /(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i, /(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i],
							[h, [p, Z, X]],
							[/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i],
							[
								[h, 'Windows'],
								[p, Z, X]
							],
							[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i, /cfnetwork\/.+darwin/i],
							[
								[p, /_/g, '.'],
								[h, 'iOS']
							],
							[/(mac os x) ?([\w\. ]*)/i, /(macintosh|mac_powerpc\b)(?!.+haiku)/i],
							[
								[h, 'Mac OS'],
								[p, /_/g, '.']
							],
							[/droid ([\w\.]+)\b.+(android[- ]x86)/i],
							[p, h],
							[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i, /(blackberry)\w*\/([\w\.]*)/i, /(tizen|kaios)[\/ ]([\w\.]+)/i, /\((series40);/i],
							[h, p],
							[/\(bb(10);/i],
							[p, [h, I]],
							[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],
							[p, [h, 'Symbian']],
							[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],
							[p, [h, P + ' OS']],
							[/web0s;.+rt(tv)/i, /\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],
							[p, [h, 'webOS']],
							[/crkey\/([\d\.]+)/i],
							[p, [h, E + 'cast']],
							[/(cros) [\w]+ ([\w\.]+\w)/i],
							[[h, 'Chromium OS'], p],
							[
								/(nintendo|playstation) ([wids345portablevuch]+)/i,
								/(xbox); +xbox ([^\);]+)/i,
								/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,
								/(mint)[\/\(\) ]?(\w*)/i,
								/(mageia|vectorlinux)[; ]/i,
								/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,
								/(hurd|linux) ?([\w\.]*)/i,
								/(gnu) ?([\w\.]*)/i,
								/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,
								/(haiku) (\w+)/i
							],
							[h, p],
							[/(sunos) ?([\w\.\d]*)/i],
							[[h, 'Solaris'], p],
							[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i, /(aix) ((\d)(?=\.|\)| )[\w\.])*/i, /\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i, /(unix) ?([\w\.]*)/i],
							[h, p]
						]
					},
					Y = function (t, e) {
						if ((typeof t === a && ((e = t), (t = void 0)), !(this instanceof Y))) return new Y(t, e).getResult();
						var n = t || (typeof window !== s && window.navigator && window.navigator.userAgent ? window.navigator.userAgent : i),
							o = e ? O(J, e) : J;
						return (
							(this.getBrowser = function () {
								var t = {};
								return (t[h] = void 0), (t[p] = void 0), $.call(t, n, o.browser), (t.major = j(t.version)), t;
							}),
							(this.getCPU = function () {
								var t = {};
								return (t[w] = void 0), $.call(t, n, o.cpu), t;
							}),
							(this.getDevice = function () {
								var t = {};
								return (t[u] = void 0), (t[l] = void 0), (t[c] = void 0), $.call(t, n, o.device), t;
							}),
							(this.getEngine = function () {
								var t = {};
								return (t[h] = void 0), (t[p] = void 0), $.call(t, n, o.engine), t;
							}),
							(this.getOS = function () {
								var t = {};
								return (t[h] = void 0), (t[p] = void 0), $.call(t, n, o.os), t;
							}),
							(this.getResult = function () {
								return { ua: this.getUA(), browser: this.getBrowser(), engine: this.getEngine(), os: this.getOS(), device: this.getDevice(), cpu: this.getCPU() };
							}),
							(this.getUA = function () {
								return n;
							}),
							(this.setUA = function (t) {
								return (n = typeof t === r && t.length > y ? V(t, y) : t), this;
							}),
							this.setUA(n),
							this
						);
					};
				(Y.VERSION = e), (Y.BROWSER = A([h, p, d])), (Y.CPU = A([w])), (Y.DEVICE = A([l, u, c, m, b, g, f, x, v])), (Y.ENGINE = Y.OS = A([h, p])), (t.exports = { UAParser: Y });
			},
			1915: function (t, e, i) {
				'use strict';
				var n = i(144),
					o = function () {
						var t = this,
							e = t._self._c;
						return e('div', { attrs: { id: 'app' } }, [
							e(
								'div',
								{ class: t.isLandscapeMode ? 'pad-wrapper-landscape' : 'pad-wrapper' },
								[
									e('PadHeader', { attrs: { isLandscapeMode: t.isLandscapeMode }, on: { close: t.close, toLandscape: t.toLandscape } }),
									e('PadContent', { attrs: { isLandscapeMode: t.isLandscapeMode, content: t.content } })
								],
								1
							)
						]);
					},
					s = [],
					a = function () {
						var t = this,
							e = t._self._c;
						return e('div', { class: t.isLandscapeMode ? 'header-container-landscape' : 'header-container' }, [
							e('span', { staticClass: 'button landscape', on: { click: t.toLandscape } }),
							t.isLandscapeMode ? t._e() : e('span', { staticClass: 'title' }, [t._v(' 请按下方提示文字进行手写抄录 ')]),
							t.isLandscapeMode ? t._e() : e('span', { staticClass: 'button close', on: { click: t.close } })
						]);
					},
					r = [],
					d = {
						props: { isLandscapeMode: { type: Boolean, default: !1 } },
						data() {
							return {};
						},
						mounted() {},
						methods: {
							toLandscape() {
								this.$emit('toLandscape');
							},
							close() {
								this.$emit('close');
							}
						}
					},
					l = d,
					h = i(1001),
					c = (0, h.Z)(l, a, r, !1, null, '1f3d56f9', null),
					u = c.exports,
					p = function () {
						var t = this,
							e = t._self._c;
						return e('div', { class: t.isLandscapeMode ? 'pad-content-container-landscape' : 'pad-content-container' }, [
							e(
								'div',
								{ staticClass: 'content-wrapper' },
								[
									e(
										'div',
										{ staticClass: 'left' },
										[
											e('WriteContent', { attrs: { isLandscapeMode: t.isLandscapeMode, content: t.content, startIndex: t.startIndex } }),
											e('div', { staticClass: 'divider' }),
											e('WriteResult', { attrs: { isLandscapeMode: t.isLandscapeMode, startIndex: t.startIndex, content: t.content } }),
											e('div', { staticClass: 'divider' }),
											t.isLandscapeMode ? e('PadFooter', { attrs: { isLandscapeMode: t.isLandscapeMode }, on: { submit: t.submit, undo: t.undo } }) : t._e()
										],
										1
									),
									e('div', { staticClass: 'divider-v' }),
									e(
										'div',
										{ staticClass: 'right' },
										[e('SignaturePad', { attrs: { isLandscapeMode: t.isLandscapeMode, startIndex: t.startIndex, content: t.content, onlyView: t.onlyView } })],
										1
									),
									t.isLandscapeMode ? t._e() : e('PadFooter', { attrs: { isLandscapeMode: t.isLandscapeMode }, on: { submit: t.submit, undo: t.undo } })
								],
								1
							)
						]);
					},
					w = [],
					m = function () {
						var t = this,
							e = t._self._c;
						return e('div', { class: t.isLandscapeMode ? 'write-content-container-landscape' : 'write-content-container' }, [
							e('p', { staticClass: 'label' }, [t._v('抄录文案：')]),
							e('p', { staticClass: 'content' }, [
								e('span', { staticClass: 'beginWord' }, [t._v(t._s(t.beginWord))]),
								e('span', { staticClass: 'currentWord' }, [t._v(t._s(t.currentWord))]),
								e('span', { staticClass: 'endWord' }, [t._v(t._s(t.endWord))])
							])
						]);
					},
					b = [],
					f = {
						props: { content: { type: String, default: '' }, isLandscapeMode: { type: Boolean, default: !1 }, startIndex: { type: Number, default: 0 } },
						data() {
							return { beginWord: '', currentWord: '', endWord: '' };
						},
						watch: {
							startIndex(t, e) {
								t !== e && this.updateText(this.content, t);
							},
							content(t, e) {
								t !== e && this.updateText(t, this.startIndex);
							}
						},
						mounted() {
							this.endWord = this.content;
						},
						methods: {
							updateText(t, e) {
								(this.beginWord = t.substring(0, e)), (this.currentWord = t.substring(e, e + 1)), (this.endWord = t.substring(e + 1, t.length));
							}
						}
					},
					g = f,
					x = (0, h.Z)(g, m, b, !1, null, '68b97377', null),
					v = x.exports,
					y = function () {
						var t = this,
							e = t._self._c;
						return e('div', { class: t.isLandscapeMode ? 'write-result-container-landscape' : 'write-result-container' }, [
							e('p', { staticClass: 'label' }, [t._v('抄录结果：')]),
							e('canvas', { staticClass: 'content', attrs: { id: 'result' } })
						]);
					},
					_ = [];
				const { EventEmitter: k, captureRejectionSymbol: C } = i(7187);
				class I extends k {
					constructor() {
						super({ captureRejections: !0 }), (this.padFrontState = ''), (this.isEnableUndo = !1);
					}
					enableUndo() {
						this.isEnableUndo || ((this.isEnableUndo = !0), this.emit('enable-undo'));
					}
					disableUndo() {
						this.isEnableUndo && ((this.isEnableUndo = !1), this.emit('disable-undo'));
					}
					setPadFrontState(t) {
						this.padFrontState !== t && ((this.padFrontState = t), this.emit('pad-front-state', t));
					}
					onWindowUpdate(t) {
						if (!t) return;
						const e = t.action;
						'updateIndex' === e ? this.emit('update-index', t) : 'updateFront' === e ? this.emit('update-front', t) : 'updateResult' === e && this.emit('update-result', t);
					}
					setWindowCommand(t) {
						t && this.emit('window-command', t);
					}
					undo() {
						this.emit('undo');
					}
					submit() {
						this.emit('submit');
					}
					[C](t, e, ...i) {
						console.error('rejection happened for', e, 'with', t, ...i), this.destroy(t);
					}
					destroy(t) {
						console.error('captureRejectionSymbol : ', t);
					}
				}
				const M = new I();
				var E = M,
					T = i(1206);
				const P = new T.UAParser(),
					W = 1500,
					L = 25,
					S = 25,
					F = 1;
				P.getDevice().type, P.getBrowser().name, P.getBrowser().name;
				var B = {
						props: { content: { type: String, default: '' }, isLandscapeMode: { type: Boolean, default: !1 }, startIndex: { type: Number, default: 0 } },
						data() {
							return { enable: !1, nextTimer: null, drawColIndex: 0, drawRowIndex: 0, drawWidth: L, drawHeight: S, ratio: F };
						},
						watch: {
							startIndex(t, e) {
								t !== e &&
									((this.beginWord = this.content.substring(0, t)),
									(this.currentWord = this.content.substring(t, t + 1)),
									(this.endWord = this.content.substring(t + 1, this.content.length)));
							}
						},
						mounted() {
							const t = document.getElementById('result');
							(t.width = t.offsetWidth * this.ratio),
								(t.height = t.offsetHeight * this.ratio),
								t.getContext('2d').scale(this.ratio, this.ratio),
								(t.getContext('2d').imageSmoothingEnabled = !0),
								this.onDraeEvent();
						},
						methods: {
							onDraeEvent() {
								E.on('enable-undo', () => {
									this.enable = !0;
								}),
									E.on('disable-undo', () => {
										this.enable = !1;
									}),
									E.on('pad-front-state', t => {
										this.update(t);
									}),
									E.on('update-result', t => {
										this.updateResult(t.data, t.drawRowIndex, t.drawColIndex);
									}),
									E.on('window-command', t => {
										'snapshot' === t && this.snapshot();
									}),
									E.on('undo', () => {
										this.undo();
									}),
									E.on('submit', () => {
										this.submit();
									});
							},
							update(t) {
								if ('begin' === t) this.nextTimer && (clearTimeout(this.nextTimer), (this.nextTimer = null));
								else if ('end' === t) {
									if ((this.nextTimer && (clearTimeout(this.nextTimer), (this.nextTimer = null)), this.startIndex === this.content.length)) return;
									const t = this,
										e = document.getElementById('result'),
										i = document.getElementById('front');
									this.nextTimer = setTimeout(() => {
										const n = e.getContext('2d');
										n.drawImage(i, t.drawColIndex * t.drawWidth, t.drawRowIndex * t.drawHeight, t.drawWidth, t.drawHeight),
											(t.drawColIndex + 1) * t.drawWidth > e.width ? ((t.drawColIndex = 0), t.drawRowIndex++) : t.drawColIndex++,
											t.notifyResult(),
											E.setPadFrontState('result-updated');
									}, W);
								}
							},
							notifyResult() {
								const t = document.getElementById('result'),
									e = document.createElement('canvas'),
									i = e.getContext('2d');
								return (
									(e.width = this.drawRowIndex > 0 ? t.width : (this.drawColIndex + 1) * this.drawWidth),
									(e.height = (this.drawRowIndex + 1) * this.drawHeight),
									i.drawImage(t, 0, 0, e.width, e.height, 0, 0, e.width, e.height),
									window.notifyUpdate({
										action: 'updateResult',
										data: e.toDataURL(),
										drawRowIndex: this.drawRowIndex,
										drawColIndex: this.drawColIndex,
										id: 'updateResult',
										renew: !0
									}),
									e.toDataURL()
								);
							},
							updateResult(t, e, i) {
								const n = document.getElementById('result'),
									o = new Image();
								(o.onload = function () {
									const t = n.getContext('2d');
									t.clearRect(0, 0, n.width, n.height), t.drawImage(o, 0, 0);
								}),
									(o.src = t),
									(this.drawRowIndex = e),
									(this.drawColIndex = i);
							},
							snapshot() {
								const t = document.getElementById('result'),
									e = document.createElement('canvas'),
									i = e.getContext('2d');
								(e.width = this.drawRowIndex > 0 ? t.width : (this.drawColIndex + 1) * this.drawWidth),
									(e.height = (this.drawRowIndex + 1) * this.drawHeight),
									i.drawImage(t, 0, 0, e.width, e.height, 0, 0, e.width, e.height),
									window.notifyMsg({ method: 'snapshot', metaData: this.content, front: e.toDataURL('image/png'), background: null });
							},
							undo() {
								this.nextTimer && (clearTimeout(this.nextTimer), (this.nextTimer = null));
								const t = document.getElementById('result'),
									e = t.getContext('2d');
								0 === this.drawColIndex ? (this.drawRowIndex--, (this.drawColIndex = Math.floor(t.width / drawWidth))) : this.drawColIndex--,
									e.clearRect(this.drawColIndex * this.drawWidth, this.drawRowIndex * this.drawHeight, this.drawWidth, this.drawHeight),
									this.notifyResult();
							},
							submit() {
								const t = this.notifyResult();
								window.parent.postMessage({ type: 'signaturepad', action: 'submit', data: t }, '*');
							}
						}
					},
					U = B,
					R = (0, h.Z)(U, y, _, !1, null, 'b6905e0e', null),
					D = R.exports,
					N = function () {
						var t = this,
							e = t._self._c;
						return e('div', { class: t.isLandscapeMode ? 'signature-pad-container-landscape' : 'signature-pad-container' }, [t._m(0)]);
					},
					z = [
						function () {
							var t = this,
								e = t._self._c;
							return e('div', { staticClass: 'canvas-wrapper' }, [
								e('canvas', { staticClass: 'content', attrs: { id: 'background' } }),
								e('canvas', { staticClass: 'content', attrs: { id: 'front' } })
							]);
						}
					],
					O = i(249),
					A = i.n(O),
					q = {
						props: {
							content: { type: String, default: '' },
							isLandscapeMode: { type: Boolean, default: !1 },
							startIndex: { type: Number, default: 0 },
							onlyView: { type: Boolean, default: !1 }
						},
						data() {
							return { signaturePadBackground: null, signaturePadFront: null, currentWord: '', nextTimer: null };
						},
						watch: {
							startIndex(t, e) {
								t !== e && ((this.currentWord = this.content.substring(t, t + 1)), this.setBackgroundText(), this.update(t));
							}
						},
						mounted() {
							const t = document.getElementById('background'),
								e = document.getElementById('front');
							(this.signaturePadBackground = new (A())(t)), (this.signaturePadFront = new (A())(e)), this.onPadFront(), this.onDrawEvent(), this.onlyView && this.signaturePadFront.off();
						},
						methods: {
							onDrawEvent() {
								E.on('pad-front-state', t => {
									'result-updated' === t && this.notifyFront();
								}),
									E.on('update-front', t => {
										this.updateFront(t.data);
									}),
									E.on('window-command', t => {
										'start' === t && ((this.currentWord = this.content.substring(this.startIndex, this.startIndex + 1)), this.setBackgroundText(), this.update(this.startIndex));
									}),
									E.on('undo', () => {
										this.undo();
									});
							},
							setBackgroundText() {
								(this.signaturePadBackground.backgroundColor = 'rgb(255, 255, 255)'),
									(this.signaturePadBackground.backgroundText = { text: this.currentWord, font: '300px Signature', color: 'lightgray' }),
									(this.signaturePadFront.backgroundColor = 'rgba(255, 255, 255, 0)'),
									(this.signaturePadFront.minWidth = 6),
									(this.signaturePadFront.maxWidth = 9),
									this.resizeCanvas();
							},
							resizeCanvas() {
								const t = 1,
									e = document.getElementById('background');
								(e.width = e.offsetWidth * t), (e.height = e.offsetHeight * t), e.getContext('2d').scale(t, t), this.signaturePadBackground.clear();
								const i = document.getElementById('front');
								(i.width = i.offsetWidth * t),
									(i.height = i.offsetHeight * t),
									i.getContext('2d').scale(t, t),
									this.signaturePadFront.clear(),
									this.onlyView && this.signaturePadFront.off();
							},
							update(t) {
								t !== this.content.length || this.signaturePadFront.off();
							},
							onPadFront() {
								(this.signaturePadFront.onUpdate = t => {
									this.notifyFront(), E.setPadFrontState('update');
								}),
									(this.signaturePadFront.onBegin = t => {
										E.setPadFrontState('begin');
									}),
									(this.signaturePadFront.onEnd = t => {
										this.notifyFront(), E.setPadFrontState('end'), this.startIndex, this.content.length;
									});
							},
							notifyFront() {
								window.notifyUpdate({ action: 'updateFront', data: this.signaturePadFront.toData(), id: 'updateFront', renew: !0 });
							},
							updateFront(t) {
								this.signaturePadFront.fromData(t);
							},
							undo() {
								this.signaturePadFront.on();
							}
						}
					},
					H = q,
					j = (0, h.Z)(H, N, z, !1, null, '0d027480', null),
					V = j.exports,
					$ = function () {
						var t = this,
							e = t._self._c;
						return e('div', { staticClass: 'footer-container' }, [
							e('span', { staticClass: 'button undo', class: t.enable ? '' : 'disable', attrs: { id: 'undoButton' }, on: { click: t.undo } }, [t._v('撤回')]),
							e('span', { staticClass: 'button submit', on: { click: t.submit } }, [t._v('提交')])
						]);
					},
					Z = [],
					G = {
						props: { isLandscapeMode: { type: Boolean, default: !1 } },
						data() {
							return { enable: !1 };
						},
						mounted() {
							E.on('enable-undo', () => {
								this.enable = !0;
							}),
								E.on('disable-undo', () => {
									this.enable = !1;
								});
						},
						methods: {
							undo() {
								this.$emit('undo');
							},
							submit() {
								this.$emit('submit');
							}
						}
					},
					X = G,
					J = (0, h.Z)(X, $, Z, !1, null, '0525fe32', null),
					Y = J.exports,
					K = {
						components: { WriteContent: v, WriteResult: D, SignaturePad: V, PadFooter: Y },
						props: { content: { type: String, default: '' }, isLandscapeMode: { type: Boolean, default: !1 } },
						data() {
							return { startIndex: 0, onlyView: !1 };
						},
						mounted() {
							this.init(),
								this.initWindowMethod(),
								E.on('pad-front-state', t => {
									'result-updated' === t && this.onResultUpdated();
								}),
								window.onStart({});
						},
						methods: {
							init() {},
							initWindowMethod() {
								const t = this;
								(window.onStart = e => {
									e.owner !== e.user
										? (this.onlyView = !0)
										: setTimeout(() => {
												E.setWindowCommand('start'), t.updateIndex(this.startIndex);
										  }, 0);
								}),
									(window.onUpdate = t => {
										const e = JSON.parse(t),
											i = e.action;
										'updateIndex' === i && this.updateIndex(e.index), E.onWindowUpdate(e);
									}),
									(window.onSnapshot = () => {
										E.setWindowCommand('snapshot');
									}),
									(window.notifyUpdate = t => {
										window.notifyMsg({ method: 'update', data: JSON.stringify(t) });
									}),
									(window.notifyLoad = () => {
										window.notifyMsg({ method: 'load' });
									}),
									(window.notifyMsg = t => {
										try {
											parent[frameElement.getAttribute('id')](JSON.stringify(t));
										} catch (e) {}
									}),
									window.notifyLoad(),
									window.notifyUpdate({ status: 'ready' });
							},
							updateIndex(t) {
								t > 0 ? E.enableUndo() : E.disableUndo(), (this.startIndex = t);
							},
							notifyIndex() {
								window.notifyUpdate({ action: 'updateIndex', index: this.startIndex, id: 'updateIndex', renew: !0 });
							},
							onResultUpdated() {
								this.updateIndex(this.startIndex + 1), this.notifyIndex();
							},
							submit() {
								E.submit();
							},
							undo() {
								this.onlyView || (0 !== this.startIndex && (E.undo(), this.updateIndex(this.startIndex - 1), this.notifyIndex()));
							}
						}
					},
					Q = K,
					tt = (0, h.Z)(Q, p, w, !1, null, '46f1c7d0', null),
					et = tt.exports;
				const it = i(7563);
				var nt = {
						name: 'App',
						components: { PadHeader: u, PadContent: et },
						data() {
							return { content: '', isLandscapeMode: !1, orientation: 'Portrait' };
						},
						mounted() {
							const t = it.parse(location.href.split('?')[1]);
							(this.content = t['tracing']),
								window.addEventListener('resize', this.resizeHandler),
								this.$nextTick(() => {
									this.resizeHandler();
								});
						},
						beforeDestroy() {},
						methods: {
							resizeHandler() {
								(this.isLandscapeMode = window.innerWidth > window.innerHeight),
									(this.orientation = window.innerWidth > window.innerHeight ? 'Landscape' : 'Portrait'),
									this.changeLayout();
							},
							toLandscape() {
								(this.isLandscapeMode = !this.isLandscapeMode), this.changeLayout();
							},
							changeLayout() {
								const t = document.getElementById('app'),
									e = document.getElementById('front'),
									i = (document.documentElement.clientHeight - document.documentElement.clientWidth) / 2;
								this.isLandscapeMode && 'Portrait' === this.orientation
									? ((t.style.height = `${document.documentElement.clientWidth}px`),
									  (t.style.width = `${document.documentElement.clientHeight}px`),
									  (t.style.transformOrigin = 'center'),
									  (t.style.transform = `rotate(90deg) translate(${i}px, ${i}px)`),
									  (e.style.transformOrigin = 'center'),
									  (e.style.transform = 'rotate(-90deg) translate(0px, 0px)'))
									: this.isLandscapeMode || 'Landscape' !== this.orientation
									? ((t.style.height = `${document.documentElement.clientHeight}px`),
									  (t.style.width = `${document.documentElement.clientWidth}px`),
									  (t.style.transformOrigin = 'center'),
									  (t.style.transform = ''),
									  (e.style.transformOrigin = 'center'),
									  (e.style.transform = ''))
									: ((t.style.height = `${document.documentElement.clientWidth}px`),
									  (t.style.width = `${document.documentElement.clientHeight}px`),
									  (t.style.transformOrigin = 'center'),
									  (t.style.transform = `rotate(90deg) translate(${i}px, ${i}px)`),
									  (e.style.transformOrigin = 'center'),
									  (e.style.transform = 'rotate(-90deg) translate(0px, 0px)'));
							},
							close() {
								window.parent.postMessage({ type: 'signaturepad', action: 'close' }, '*');
							}
						}
					},
					ot = nt,
					st = (0, h.Z)(ot, o, s, !1, null, '1f0251a5', null),
					at = st.exports;
				(async () => {
					const t = new FontFace('Signature', 'url(./fonts/SIMSUN.TTC)'),
						e = await t.load();
					document.fonts.add(e);
				})(),
					(n.ZP.config.productionTip = !1),
					new n.ZP({ render: t => t(at) }).$mount('#app');
			}
		},
		e = {};
	function i(n) {
		var o = e[n];
		if (void 0 !== o) return o.exports;
		var s = (e[n] = { exports: {} });
		return t[n].call(s.exports, s, s.exports, i), s.exports;
	}
	(i.m = t),
		(function () {
			var t = [];
			i.O = function (e, n, o, s) {
				if (!n) {
					var a = 1 / 0;
					for (h = 0; h < t.length; h++) {
						(n = t[h][0]), (o = t[h][1]), (s = t[h][2]);
						for (var r = !0, d = 0; d < n.length; d++)
							(!1 & s || a >= s) &&
							Object.keys(i.O).every(function (t) {
								return i.O[t](n[d]);
							})
								? n.splice(d--, 1)
								: ((r = !1), s < a && (a = s));
						if (r) {
							t.splice(h--, 1);
							var l = o();
							void 0 !== l && (e = l);
						}
					}
					return e;
				}
				s = s || 0;
				for (var h = t.length; h > 0 && t[h - 1][2] > s; h--) t[h] = t[h - 1];
				t[h] = [n, o, s];
			};
		})(),
		(function () {
			i.n = function (t) {
				var e =
					t && t.__esModule
						? function () {
								return t['default'];
						  }
						: function () {
								return t;
						  };
				return i.d(e, { a: e }), e;
			};
		})(),
		(function () {
			i.d = function (t, e) {
				for (var n in e) i.o(e, n) && !i.o(t, n) && Object.defineProperty(t, n, { enumerable: !0, get: e[n] });
			};
		})(),
		(function () {
			i.g = (function () {
				if ('object' === typeof globalThis) return globalThis;
				try {
					return this || new Function('return this')();
				} catch (t) {
					if ('object' === typeof window) return window;
				}
			})();
		})(),
		(function () {
			i.o = function (t, e) {
				return Object.prototype.hasOwnProperty.call(t, e);
			};
		})(),
		(function () {
			var t = { 143: 0 };
			i.O.j = function (e) {
				return 0 === t[e];
			};
			var e = function (e, n) {
					var o,
						s,
						a = n[0],
						r = n[1],
						d = n[2],
						l = 0;
					if (
						a.some(function (e) {
							return 0 !== t[e];
						})
					) {
						for (o in r) i.o(r, o) && (i.m[o] = r[o]);
						if (d) var h = d(i);
					}
					for (e && e(n); l < a.length; l++) (s = a[l]), i.o(t, s) && t[s] && t[s][0](), (t[s] = 0);
					return i.O(h);
				},
				n = (self['webpackChunkcoshow_js_sdk_vue'] = self['webpackChunkcoshow_js_sdk_vue'] || []);
			n.forEach(e.bind(null, 0)), (n.push = e.bind(null, n.push.bind(n)));
		})();
	var n = i.O(void 0, [998], function () {
		return i(1915);
	});
	n = i.O(n);
})();
